package com.kmxd.ams.client.oss.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 电子文件表
 *
 * @author ZuoLG
 * @since 2022-07-25
 */
@Schema(description = "电子文件表对象")
@Data
public class EfileRecordEditDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  @Schema(description = "主键ID")
  private Long id;

  /** 全宗id */
  @Schema(description = "全宗id")
  private Long fondsId;

  /** 门类id */
  @Schema(description = "门类id")
  private Long archTypeId;

  /** 档案id */
  @Schema(description = "档案id")
  private Long archId;

  /** 档案档号 */
  @Schema(description = "档案档号")
  private String archCode;

  /** 文件名 */
  @Schema(description = "文件名")
  private String title;

  /** 真实存储的名字 */
  @Schema(description = "真实存储的名字")
  private String saveFileName;

  /** 挂接时间 */
  @Schema(description = "挂接时间")
  private Date hangingTime;

  /** OCR识别内容 */
  @Schema(description = "OCR识别内容")
  private String ocrContent;

  /** 数据导入父标识 */
  @Schema(description = "数据导入父标识")
  private String pid;

  /** 装换状态：1待处理，2转换中，3成功，4失败，99不支持转换，0不需要转换 */
  @Schema(description = "装换状态：1待处理，2转换中，3成功，4失败，99不支持转换，0不需要转换")
  private Long transferStatus;

  /** 判断文件是否加密，默认值0；1为已加密 */
  @Schema(description = "判断文件是否加密，默认值0；1为已加密")
  private Integer isSecret;

  /** ocr识别状态：默认0，读取pdf内容后值设为1 */
  @Schema(description = "ocr识别状态：默认0，读取pdf内容后值设为1")
  private Long ocrStatus;

  /** 离线数据导入，附件标识 */
  @Schema(description = "离线数据导入，附件标识")
  private String did;

  /** 文件类型:正文 */
  @Schema(description = "文件类型:正文")
  private String docType;

  /** 档案日期，从文档继承而来 */
  @Schema(description = "档案日期，从文档继承而来")
  private String docDate;

  /** 记录附件属性信息java使用 */
  @Schema(description = "记录附件属性信息java使用")
  private String fileText;

  /** 缩略图 */
  @Schema(description = "缩略图")
  private String thumb;

  /** 单位“幅” */
  @Schema(description = "单位“幅”")
  private String fu;

  /** 音视频“时长” */
  @Schema(description = "音视频“时长”")
  private String duration;

  /** 电子章状态：0（默认），1（需要添加电子章），其它状态java维护 */
  @Schema(description = "电子章状态：0（默认），1（需要添加电子章），其它状态java维护")
  private Long eSeal;

  /** 用于判断附件是否更新java使用 */
  @Schema(description = "md5字段信息")
  private String md5Ecode;

  @Schema(description = "国密sm3字段")
  private String sm3;

  /** 四性检查可用性 */
  @Schema(description = "四性检查可用性")
  private Long fileAvaiable;

  /** 格式信息 */
  @Schema(description = "格式信息")
  private String formatInfo;

  /** 文档创建程序 */
  @Schema(description = "文档创建程序")
  private String docCreateSoft;

  /** 信息系统描述 */
  @Schema(description = "信息系统描述")
  private String sysInfo;

  /** 电子签名信息 */
  @Schema(description = "电子签名信息")
  private String eleSignature;

  /** 软件环境信息 */
  @Schema(description = "软件环境信息")
  private String softInfo;

  /** 硬件环境信息 */
  @Schema(description = "硬件环境信息")
  private String hardwareInfo;

  /** 媒体类扩展信息 */
  @Schema(description = "媒体类扩展信息")
  private String mediaInfo;

  /** 文件页数 */
  @Schema(description = "文件页数")
  private Integer filePage;

  /** 统计转换后附件大小 */
  @Schema(description = "统计转换后附件大小")
  private Long pdfSize;

  /** 该字段用来表示附件迁移的状态，0表示未迁移，1表示迁移成功，2表示迁移失败 */
  @Schema(description = "该字段用来表示附件迁移的状态，0表示未迁移，1表示迁移成功，2表示迁移失败")
  private Long moveStatus;

  /** 该字段用来记录生成的辅助文件的路径（如生成的以_index.txt为结尾的索引文件） */
  @Schema(description = "该字段用来记录生成的辅助文件的路径（如生成的以_index.txt为结尾的索引文件）")
  private String showFilePath;

  /** 记录电子章信息 */
  @Schema(description = "记录电子章信息")
  private String sealInfo;

  /** 文件整理标识 */
  @Schema(description = "文件整理标识")
  private Integer arrangeStatus;

  /** 原文存储位置 */
  @Schema(description = "原文存储位置")
  private String oldSaveFilePath;

  /** 索引状态：初始值0不需要建索引，1需要建索引,2已添加索引，3添加索引失败 */
  @Schema(description = "索引状态：初始值0不需要建索引，1需要建索引,2已添加索引，3添加索引失败")
  private Long indexStatus;

  /** 排序 */
  @Schema(description = "排序")
  private Integer sort;

  /** 文件分类 */
  @Schema(description = "文件分类")
  private Integer fileCategory;
}
